package com.atguigu.gmall.feign.product;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.model.product.SpuInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 我将要调用远程服务
 */
@FeignClient("service-product")  //申明要调用的远程服务的名字
public interface SpuFeignClient {

    //1、 别人调用了 SpuFeignClient.spuInfoPageList
    //2、Feign先去 注册中心找 "service-product" 的所有位置
    //3、给 "service-product" 发送  @GetMapping 申明的请求 /admin/product/1/5?category3Id=61
    //4、@RequestParam 自动带到请求路径上   @PathVariable:处理请求路径的占位符
    //
    @GetMapping("/admin/product/{page}/{limit}")
    Result<Page<SpuInfo>> spuInfoPageList(@RequestParam("category3Id") Long category3Id,
                                          @PathVariable("page") Long page,
                                          @PathVariable("limit") Long limit);


}
